package caom.wangs.java8.streamDemo;

import caom.wangs.java8.entity.Member;
import caom.wangs.java8.entity.Order;

import java.util.List;
import java.util.stream.Collectors;

import static caom.wangs.java8.streamDemo.DataServer.memberStore;
import static caom.wangs.java8.streamDemo.DataServer.orderStore;

public class Demo2 {
    public static void main(String[] args) {
        /**
         * order 信息和 会员信息 在两个不同的db库中
         * 1. 查order  信息
         * 2. 找到 order 表中 all 的会员id
         * 3. 根据会员id，得到会员信息
         * 4. 将订单数据和会员数据合并
         */

        // 获取所有 会员id 并去重
        List<Integer> memberIds = orderStore.stream().map(Order::getMemberId).distinct().collect(Collectors.toList());

        // 合并会员信息到 订单信息(将 会员的中文名 赋值 给 订单的 会员名称）
        orderStore.stream().forEach(o -> {
            //找到任意一个就返回
            Member member = memberStore.stream().filter(m -> m.getId() == o.getMemberId()).findAny().get();
            o.setMemberName(member.getName());
        });

        orderStore.forEach(order -> System.out.println(order.toString()));


    }
}
